// package com.yy.web.pm.Test;
//
// import com.yy.web.pm.user.service.UserService;
// import com.yy.web.until.ResponseResult;
// import com.yy.web.until.dto.CreateUserDTO;
// import com.yy.web.until.dto.UpdateUserDTO;
// import com.yy.web.until.dto.UserVO;
// import io.swagger.annotations.Api;
// import io.swagger.annotations.ApiOperation;
// import org.springframework.beans.factory.annotation.Autowired;
// import org.springframework.security.access.prepost.PreAuthorize;
// import org.springframework.web.bind.annotation.*;
//
// import javax.validation.Valid;
//
// /**
//  * 用户管理控制器
//  */
// @RestController
// @RequestMapping("/api/users")
// @Api(tags = "用户管理")
// public class UserController {
//
//     @Autowired
//     private UserService userService;
//
//     /**
//      * 获取当前用户信息
//      */
//     @GetMapping("/me")
//     @ApiOperation("获取当前用户信息")
//     public ResponseResult<UserVO> getCurrentUser() {
//         UserVO userVO = userService.getCurrentUser();
//         return ResponseResult.success(userVO);
//     }
//
//     /**
//      * 创建用户
//      */
//     @PostMapping
//     @ApiOperation("创建用户")
//     @PreAuthorize("hasPermission('user:create')")
//     public ResponseResult<UserVO> createUser(@Valid @RequestBody CreateUserDTO createUserDTO) {
//         UserVO userVO = userService.createUser(createUserDTO);
//         return ResponseResult.success(userVO);
//     }
//
//     /**
//      * 更新用户
//      */
//     @PutMapping("/{userId}")
//     @ApiOperation("更新用户信息")
//     @PreAuthorize("hasPermission('user:update')")
//     public ResponseResult<UserVO> updateUser(
//             @PathVariable Long userId,
//             @Valid @RequestBody UpdateUserDTO updateUserDTO) {
//         UserVO userVO = userService.updateUser(userId, updateUserDTO);
//         return ResponseResult.success(userVO);
//     }
//
//     /**
//      * 删除用户
//      */
//     @DeleteMapping("/{userId}")
//     @ApiOperation("删除用户")
//     @PreAuthorize("hasPermission('user:delete')")
//     public ResponseResult<Void> deleteUser(@PathVariable Long userId) {
//         userService.deleteUser(userId);
//         return ResponseResult.success();
//     }
// }
